package com.fun.widget.tag.core;

import android.content.Context;
import android.support.annotation.NonNull;

/**
 * 作者: Created by AdminFun
 * 邮箱: 614484070@qq.com
 * 创建: 2019/4/15
 * 修改: 2019/4/15
 * 版本: v1.0.0
 */
public class ScreenUtils {

    /**
     * 根据手机分辨率: dip  转  px
     *
     * @param context 上下文
     * @param dpValue 需要转换的DIP值
     * @return PX
     */
    public static int dip2px(@NonNull Context context, float dpValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (dpValue * scale + 0.5f);
    }

    /**
     * 根据手机分辨率： px  转  dip
     *
     * @param context 上下文
     * @param pxValue 需要转换的PX值
     * @return DIP
     */
    public static int px2dip(@NonNull Context context, float pxValue) {
        final float scale = context.getResources().getDisplayMetrics().density;
        return (int) (pxValue / scale + 0.5f);
    }

    /**
     * 根据手机分辨率： px  转  sp
     *
     * @param context 上下文
     * @param pxValue 需要转换的PX值
     * @return SP
     */
    public static int px2sp(@NonNull Context context, float pxValue) {
        float scale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / scale + 0.5f);
    }

    /**
     * 根据手机分辨率： sp  转 px
     *
     * @param context 上下文
     * @param spValue 需要转换的SP值
     * @return PX
     */
    public static int sp2px(@NonNull Context context, float spValue) {
        float scale = context.getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue * scale + 0.5f);
    }
}